html {
  font-size: 16px;
  -webkit-overflow-scrolling: touch;
  min-width: 320px;
  height: 100%;
}

html.mobile-app {
  font-size: calc(100vw / 23.4375);
}

html.pc-app {
  font-size: calc(100vw / 60);
}

:root {
  font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;
  width: 100%;
  color-scheme: light dark;
  color: rgba(255, 255, 255, 0.87);
  background-color: #242424;
  font-synthesis: none;
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  margin: 0;
  display: flex;
  place-items: center;
  min-width: 320px;
  min-height: 100vh;
}

h1 {
  font-size: 3.2em;
  line-height: 1.1;
}

button:focus,
button:focus-visible {
  outline: 4px auto -webkit-focus-ring-color;
}

#root {
  width: 100%;
}

@media screen and (width >=420px) {
  html.mobile-app {
    font-size: calc(18px + 4 * (100vw - 420px) / 580);
  }
}
